package com.ruoyi.service.impl;

import java.util.List;

import com.ruoyi.domain.ZhwyChargeitem;
import com.ruoyi.mapper.ZhwyChargeitemMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.mapper.ZhwyDefaultchargesMapper;
import com.ruoyi.domain.ZhwyDefaultcharges;
import com.ruoyi.service.IZhwyDefaultchargesService;

/**
 * 默认收费项(隐藏)Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-05-07
 */
@Service
public class ZhwyDefaultchargesServiceImpl implements IZhwyDefaultchargesService 
{
    @Autowired
    private ZhwyDefaultchargesMapper zhwyDefaultchargesMapper;
    @Autowired
    private ZhwyChargeitemMapper zhwyChargeitemMapper;

    /**
     * 查询默认收费项(隐藏)
     * 
     * @param id 默认收费项(隐藏)主键
     * @return 默认收费项(隐藏)
     */
    @Override
    public ZhwyDefaultcharges selectZhwyDefaultchargesById(Long id)
    {
        return zhwyDefaultchargesMapper.selectZhwyDefaultchargesById(id);
    }

    /**
     * 查询默认收费项(隐藏)列表
     * 
     * @param zhwyDefaultcharges 默认收费项(隐藏)
     * @return 默认收费项(隐藏)
     */
    @Override
    public List<ZhwyDefaultcharges> selectZhwyDefaultchargesList(ZhwyDefaultcharges zhwyDefaultcharges)
    {
        return zhwyDefaultchargesMapper.selectZhwyDefaultchargesList(zhwyDefaultcharges);
    }

    /**
     * 新增默认收费项(隐藏)
     * 
     * @param zhwyDefaultcharges 默认收费项(隐藏)
     * @return 结果
     */
    @Override
    public int insertZhwyDefaultcharges(ZhwyDefaultcharges zhwyDefaultcharges)
    {
        return zhwyDefaultchargesMapper.insertZhwyDefaultcharges(zhwyDefaultcharges);
    }

    /**
     * 修改默认收费项(隐藏)
     * 
     * @param zhwyDefaultcharges 默认收费项(隐藏)
     * @return 结果
     */
    @Override
    public int updateZhwyDefaultcharges(ZhwyDefaultcharges zhwyDefaultcharges)
    {
        return zhwyDefaultchargesMapper.updateZhwyDefaultcharges(zhwyDefaultcharges);
    }

    /**
     * 批量删除默认收费项(隐藏)
     * 
     * @param ids 需要删除的默认收费项(隐藏)主键
     * @return 结果
     */
    @Override
    public int deleteZhwyDefaultchargesByIds(Long[] ids)
    {
        return zhwyDefaultchargesMapper.deleteZhwyDefaultchargesByIds(ids);
    }

    /**
     * 删除默认收费项(隐藏)信息
     * 
     * @param id 默认收费项(隐藏)主键
     * @return 结果
     */
    @Override
    public int deleteZhwyDefaultchargesById(Long id)
    {
        return zhwyDefaultchargesMapper.deleteZhwyDefaultchargesById(id);
    }

    @Override
    public List<ZhwyDefaultcharges> findZhwyDefaultchargesByType(Long id) {
        List<ZhwyDefaultcharges> zhwyDefaultcharges = zhwyDefaultchargesMapper.selectZhwyDefaultchargesByType(id);
        zhwyDefaultcharges.forEach(s -> {
            ZhwyChargeitem zhwyChargeitem = zhwyChargeitemMapper.selectZhwyChargeitemById(s.getChargeitemId());
            s.setName(zhwyChargeitem.getName());
            s.setUnivalence(zhwyChargeitem.getUnivalence());
        });
        return zhwyDefaultcharges;
    }

    @Override
    public void deleteAll(Long id) {
        zhwyDefaultchargesMapper.deleteAll(id);
    }
}
